﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Globalization;
using Conditions;

public partial class Nhanvien : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack) return;
    }
    protected void imgsua_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton img = (ImageButton)sender;
        lbid.Text = img.CommandArgument;
        txtten.Text = ((Label)img.Parent.Parent.FindControl("lbten")).Text;
        txtngaysinh.Text = ((Label)img.Parent.Parent.FindControl("lbngaysinh")).Text;
        txtmanhanvien.Text = ((Label)img.Parent.Parent.FindControl("lbmanv")).Text;
        txttendangnhap.Text = ((Label)img.Parent.Parent.FindControl("lbtendn")).Text;
        txtemail.Text = ((Label)img.Parent.Parent.FindControl("lbemail")).Text;
        txtsodienthoai.Text = ((Label)img.Parent.Parent.FindControl("lbsdt")).Text;
        txtdiachi.Text = ((Label)img.Parent.Parent.FindControl("lbdiachi")).Text;
        drdloainv.Text = ((Label)img.Parent.Parent.FindControl("lbloainv")).Text;
        btnthem.Text = "Cập nhật";
        btnthem.CssClass = "ics";
        txttendangnhap.Enabled = false;
        txtmatkhau.Enabled = false;
        txtnhaplaimatkhau.Enabled = false;
        rqmatkhau.Enabled = false;
        rqnhaplaimatkhau.Enabled = false;
    }
    protected void imgxoa_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton img = (ImageButton)sender;
        DBConditions cond = new DBConditions();
        cond.add("id_row",img.CommandArgument);
        ketnoicsdl cnn = new ketnoicsdl();
        if (cnn.delete("nhanvien", cond) <= 0)
        {
            MessengeBox.Show(this, "Xóa không thành công");
            cnn.close();
            return;
        }
        MessengeBox.Show(this, "Xóa thành công");
        cnn.close();
        btnboqua_Click(null, null);
    }
    protected void btnboqua_Click(object sender, EventArgs e)
    {
        txtten.Text = "";
        txtmanhanvien.Text = "";
        txtngaysinh.Text = "";
        txttendangnhap.Text = "";
        txtmatkhau.Text = "";
        txtnhaplaimatkhau.Text = "";
        txtdiachi.Text = "";
        txtsodienthoai.Text = "";
        txtemail.Text = "";
        lbid.Text = "";
        btnthem.Text = "Thêm";
        btnthem.CssClass = "ica";
        grvds.DataBind();
        txttendangnhap.Enabled = true;
        txtmatkhau.Enabled = true;
        txtnhaplaimatkhau.Enabled = true;
        rqmatkhau.Enabled = true;
        rqnhaplaimatkhau.Enabled = true;
    }
    protected void btnthem_Click(object sender, EventArgs e)
    {
        DateTime ngaysinh = new DateTime();
        IFormatProvider fm = new CultureInfo("en-US", true);
        if (!DateTime.TryParseExact(txtngaysinh.Text, "dd/MM/yyyy", fm, DateTimeStyles.NoCurrentDateDefault, out ngaysinh))
        {
            MessengeBox.Show(this, "Vui lòng nhập ngày sinh đúng định dạng dd/MM/yyyy");
            return;
        }
               
        Hashtable hs = new Hashtable();
        hs.Add("manv", txtmanhanvien.Text.Trim());
        //lấy thông tin mã nhân viên
        hs.Add("tennhanvien", txtten.Text);
        hs.Add("sodienthoai", txtsodienthoai.Text);
        hs.Add("email", txtemail.Text);
        hs.Add("ngaysinh", ngaysinh);
        hs.Add("diachi", txtdiachi.Text);
        hs.Add("id_loainv", drdloainv.SelectedValue);
        ketnoicsdl cnn = new ketnoicsdl();//lớp dùng để kết nối cơ sở dữ liệu
        string dk = "0";
        if (!lbid.Text.Equals("")) dk += "," + lbid.Text;
        DataTable dt = cnn.select("select * from nhanvien where manv='"+txtmanhanvien.Text.Trim()+"' and id_row not in("+dk+")");
        //kiểm tra có trùng mã nhân viên không
        if (dt.Rows.Count > 0)
        {
            MessengeBox.Show(this, "Mã nhân viên đã được sử dụng, vui lòng nhập mã nhân vien khác");
            cnn.close();
            txtmanhanvien.Focus();
            return;
        }

        // ktra có trùng Email không
        dt = cnn.select("select * from nhanvien where email='" + txtemail.Text.Trim() + "' and id_row not in(" + dk + ")");
        if (dt.Rows.Count > 0)
        {
            MessengeBox.Show(this, "Email này đã được sử dụng, vui lòng nhập lại Email khác ");
            cnn.close();
            txtemail.Focus();
            return;
        }
        //lbid lưu id của nhân viên cần sửa khi bấm nút sửa
        if (lbid.Text.Equals(""))// nếu lbid không có dữ liệu thì thêm vào cơ sở dữ liệu
        {
            dt = cnn.select("select * from nhanvien where tendangnhap='" + txttendangnhap.Text.Trim() + "'");
            //kiểm tra có trùng tên đăng nhập không
            if (dt.Rows.Count > 0)
            {
                MessengeBox.Show(this, "Tên đăng nhập đã được sử dụng, vui lòng nhập tên đăng nhập khác");
                cnn.close();
                txttendangnhap.Focus();
                return;
            }
            hs.Add("tendangnhap", txttendangnhap.Text);
            hs.Add("matkhau",mahoa.Encrypt(txtmatkhau.Text,"banhang"));
            //mã hóa mật khẩu
            if (cnn.insert("nhanvien", hs) <= 0)//insert thông tin mới nhập vào cơ sở dữ liệu
            {
                MessengeBox.Show(this, "Thêm không thành công");
                cnn.close();
                return;
            }
            MessengeBox.Show(this, "Thêm thành công");
        }
        else//nếu lbid có dữ liệu thì cập nhật
        {
            DBConditions cond = new DBConditions();
            cond.add("id_row", lbid.Text);
            if (cnn.update("nhanvien", hs, cond) <= 0)//Cập nhật thông tin vào cơ sở dữ liệu
            {
                MessengeBox.Show(this, "Cập nhật không thành công");
                cnn.close();
                return;
            }
            MessengeBox.Show(this, "Cập nhật thành công");
        }
        cnn.close();
        btnboqua_Click(null, null);
        
    }

    protected void txtmatkhau_TextChanged(object sender, EventArgs e)
    {

    }
}
